The present invention relates to a screen display control method for controlling a screen of a display device (e.g., a liquid crystal display or a CRT display) that is employed for various types of information processing apparatuses, such as personal computers, and to an apparatus therefor; and in particular to a screen display control method for appropriately controlling a display screen when a changed output destination for a display signal is selected from among a plurality of display devices having different resolutions, and to an apparatus therefor. More specifically, the present invention pertains to a screen display control method by which an information processing apparatus appropriately performs a screen display on a display device having any resolution, and to an apparatus therefor.
In accordance with current technical development, various information processing apparatuses, such as personal computers (PCs), graphic work stations, and word processors, are being developed and sold on the market.
Generally, such an information processing apparatus provides a working environment for an operator by outputting data, which were processed by a CPU (Central Processing Unit), to a screen of an attached display device. The display device can be a liquid crystal display (LCD), a CRT (Cathode Ray Tube) display, or a home television (TV) monitor. Although the resolution of the CRT display is excellent, it is heavy and not appropriate for carrying. While the LCD is made thin and light and is portable, its image quality is inferior to that of the CRT display. It is, therefore, common practice for desktop PCs to mount CRT displays as a standard and for notebook PCs to mount LCDs as a standard.
Data that are displayed on the screen of a display device are, for example, text, figures, and images. A software screen that is provided by a current high performance operating system, such as OS/2 ("OS/2" is a trademark of IBM Corp.) or Windows ("Windows" is a trademark of Microsoft Corp.), is a so-called window screen in a "bit map" display form wherein characters and figures are regarded as dot groups. The window screen is a screen on which various sentences and computer images for a plurality of applications are displayed in separate areas, and has high resolution of, for example, 1024.times.768 dots. In accordance with the continuing development of such display functions, a processing ability that can provide higher performance at a higher speed is required for hardware components, such as a CPU and a video adaptor that actually performs a drawing process. A frame buffer (VRAM) for temporarily storing drawing information must have a large memory capacity. Accordingly, a display device preferably has a high resolution.
Recent PCs not only mount a single display device as a standard, but also can accommodate a plurality of additional types of display devices. Most of the notebook PCs, that have LCD displays as a standard feature, also have output terminals to accommodate CRT displays so as to enable the selection of a proper output destination (e.g., the notebook PC "ThinkPad 755" series sold by IBM Japan, Ltd. ("ThinkPad" is a trademark of IBM Corp.)). Because of this, an employment environment appropriate for every condition is provided. The LCD screen is mounted on a PC, so that it is used outside an office or home, while an external display is connected to the PC so that a display having a high resolution can be employed when the PC is used at home or in the office. The latest multi-media PC mounts an output terminal for a TV monitor as a standard, and can select a home TV monitor as an output destination. There exist so many opportunities for the switching of display devices.
One of the problems encountered when a PC switches an output destination for a display signal arises as a result of a difference in resolution between display devices. For example, the resolution of a home TV monitor is 640.times.400 dots for an NTSC system, and 800.times.600 dots for a PAL system. The resolution of an LCD display varies depending on the screen size, and can be 640.times.480 dots, 800.times.600 dots, or 1024.times.768 dots. The resolution of a CRT display is relatively high, and generally is 1024.times.768 dots or 1280.times.1024 dots.
Generally, a peripheral device called a "video adaptor" controls the resolution of a display screen in accordance with system data determined in advance before the powering on of the system. More specifically, for the setup of a resolution, a POST (Power On Self Test) program that is executed at the time of activation refers to data in nonvolatile memory (e.g., a CMOS RAM) which is a storage area for resolution and other system data, and sets up a display controller in the video adaptor in accordance with ones of the system data. The system data in the CMOS RAM are commonly rewritable by a utility program, and can be updated when the system is rebooted. Such setup procedures for resolution are performed one time when the system is powered on, and a display output destination can not be dynamically switched while the system is in operation. It is because, in general, the setup procedure is static. If a user desires to change a resolution as he switches a display output destination from an LCD to a CRT display, or from a CRT display to an LCD, first, the user must execute a utility program to rewrite data in the CMOS RAM and thereafter must reboot the system. In short, the very troublesome job is required to change the display output destination.
When the output destination is dynamically changed while a resolution is fixed at a predetermined setup value, the following problems occur.
(1) Switching from a display device with high resolution to a display device with low resolution: PA0 (2) Switching from a display device with low resolution to a display device with high resolution: PA0 (3) Switching display devices with the same resolution:
An LCD display controller and a CRT display controller for controlling the display for an LCD and a CRT display device, respectively, generate a sync signal to produce a display timing. In a situation where the output destination is a CRT display and the resolution is set at a high level of 1024.times.768, if the output destination is switched to an LCD having a lower resolution of 800.times.600, an LCD display controller can not produce the timing to offset the difference between these resolutions. Since an LCD has a digital display, the LCD display controller can merely send, unchanged, to an LCD a digital display signal that corresponds to digital image data written in a screen buffer. So long as a dedicated hardware component is not provided in addition to the LCD display controller, an operation such as the interlacing of some scan lines from digital image data, or the interpolation of pixel data can not be performed. In other words, the resolution for a digital image can not be manipulated by only using software. If a display signal is output with a high resolution that exceeds the physical capacity of an LCD, at the worst, the hardware might be damaged.
For this reason, the above mentioned ThinkPad 755 does not drive an LCD, and protects system hardware when a request for switching a display from a CRT display to an LCD is issued. In this case, if the CRT display is disengaged while data at a high resolution are being displayed on it, an output destination for display data substantially vanishes, even though an LCD is installed, and no data are displayed on any screen.
In other words, display data for a display device having a high resolution can not be dynamically switched to a display device having a low resolution.
It is possible to switch the output destination from an LCD to a CRT display because the CRT display has an analog display form and the interpolation of pixel data is easy. The CRT display controller simply adjusts display timing to display, on a screen, enlarged screen data at a resolution lower than the maximum resolution. However, on the display screen of the CRT display, data having a predetermined low resolution are merely enlarged and displayed at the full screen size, and the resolution can not be dynamically changed. As is mentioned above, the maximum resolution that is set to the video adaptor is fixed so long as the contents of the CMOS RAM are not rewritten and the device rebooted.
In other words, the display screen can not be dynamically changed from a low resolution to a high resolution.
In this case, an output destination is changed from a CRT display to an LCD, or from an LCD to a CRT display, while a full screen session* is being opened. A "full screen" is a form where the entire screen is employed for a display for an application program on behalf of a window screen, even though the display environment is one in which a multi- window is available.
A full screen session is generally performed with a VGA compatible screen and has a relatively low resolution of 640.times.480. An LCD display controller and a CRT display controller can respectively drive an LCD and a CRT display in accordance with the requirements for a full screen session whose resolution is lower than the maximum resolution.
Normally, a full screen session is opened by a call initiated on a higher resolution software screen (e.g., a window screen), such as a Windows or OS/2 screen. When the full screen session is closed by entering "exit" at the DOS prompt, the display contents are returned to the original, high resolution window screen that is provided by Windows or OS/2. At this time, the above described problem (1) could occur.
In other words, even when the resolution is the same, the output destination can not be switched by only using software.